Skip to content

[18.0-fr3] Add tolerations customization interface for service operators#1551

Merged
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:18.0-fr3from
openshift-cherrypick-robot:cherry-pick-1550-to-18.0-fr3
Aug 6, 2025
Merged

[18.0-fr3] Add tolerations customization interface for service operators#1551
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:18.0-fr3from
openshift-cherrypick-robot:cherry-pick-1550-to-18.0-fr3

Conversation

@openshift-cherrypick-robot

@openshift-cherrypick-robot openshift-cherrypick-robot commented Aug 5, 2025

Copy link
Copy Markdown

This is an automated cherry-pick of #1550

/assign stuggi

Jira: OSPRH-18693

Adds ability for service operators to customize pod tolerations similar
to how resource limits/requests are currently handled.

Features:
- Add Tolerations field to ContainerSpec API type
- Implement merge behavior: custom tolerations are merged with defaults,
  overriding by key when same key exists
- Set global default tolerations (node.kubernetes.io/not-ready and
  node.kubernetes.io/unreachable with 120s timeout) in controller
- Update deployment templates (managers.yaml, operator.yaml) to render
  custom tolerations from Deployment struct
- Add test coverage for merge logic and override behavior

Example usage:
```yaml
operatorOverrides:
- name: "keystone"
  controllerManager:
    tolerations:
    - key: "node.kubernetes.io/not-ready"  # Override default timeout
      operator: "Exists"
      effect: "NoExecute"
      tolerationSeconds: 600
    - key: "node.example.com/gpu"          # Add new toleration
      operator: "Equal"
      value: "nvidia"
      effect: "NoSchedule"
```

The merge behavior ensures operators get both default tolerations
(unless overridden by matching key) plus any additional custom ones,
providing flexibility while maintaining safe defaults.

Jira: OSPRH-18693

Assisted-by: claude-4-sonnet

Signed-off-by: Martin Schuppert <mschuppert@redhat.com>

@stuggi stuggi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci Bot added the lgtm label Aug 6, 2025
@openshift-ci

openshift-ci Bot commented Aug 6, 2025

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: openshift-cherrypick-robot, stuggi

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved label Aug 6, 2025
@openshift-merge-bot openshift-merge-bot Bot merged commit dcf6968 into openstack-k8s-operators:18.0-fr3 Aug 6, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants